#include <common.h>
#include <print.h>
#include <irq.h>
#include <8259A.h>
#include <task.h>

extern void AppInit(void);

S32 main(void)
{
    asm volatile("cli");                    // 关中断
    SetCursorPos(0, 2);                     // 设置光标位置: (0, 2)
    SetFontColor(E_FONT_WHITE);             // 设置打印字体颜色: 白色
    printk("Start kernel...\n");            // 打印字符串 "Start kernel..."
    IrqInit();                              // 中断请求初始化，绑定默认中断服务程序
    pic_init();                             // 初始化可编程中断控制器 8259A - 级联
    
    AppInit();                              // 应用程序模块初始化
    TaskInit();                             // 任务初始化，初始化任务相关队列并插入任务节点
 
    TaskStart();

    while(1);
    return 0;
}
